<?php
class Webservice extends AppModel {

	/**
	 * Example method
	 * @param string
	 * @return string
	 */
	
	
	
	public $hasAndBelongsToMany = array(
        'User' => array(
            'className' => 'User'),
        'Persona' => array(
            'className' => 'Persona'),
        'DetalleSolicitudCompra' => array(
            'className' => 'DetalleSolicitudCompra'),
        'SolicitudCompra' => array(
            'className' => 'SolicitudCompra'),
        'Reservacione' => array(
            'className' => 'Reservacione'),
        'BeneficiosAdministrativos' => array(
            'className' => 'BeneficiosAdministrativos'),
        'AdminSolicitude' => array(
            'className' => 'AdminSolicitude'),

        );
	
	
	function getHola($inputParam) 
	{
		return "Your input is {$inputParam}";
	}
	
	public function getMisDatosUsuario1($username,$pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETMYDETAILS';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$user[$nombre_procedimiento] = array();
		$datos_usuario = array();
		$datos_familiares = array();
		$datos_estudios = array();
		$datos_adiestramientos = array();
		$datos_seguro = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
												
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_VACIO,
										'DATA' => array("")
									 ); 
		}
		else 
		{
			
			array_push($datos_usuario, array(
												"persona_id" => $usuario[0]['P']['id'], 
												"username" => $usuario[0]['U']['username'],
												"tipo_cuenta_id" => $usuario[0]['TC']['id'],
												"nombre_tipo_cuenta" => $usuario[0]['TC']['nombre_tipo_cuenta'],
												"cedula_persona" => $usuario[0]['P']['ci_persona'],
												"nombre_usuario_1" => $usuario[0]['P']['nombre_persona_1'],
												"nombre_usuario_2" => $usuario[0]['P']['nombre_persona_2'],
												"apellido_usuario_1" => $usuario[0]['P']['apellido_persona_1'],
												"apellido_usuario_2" => $usuario[0]['P']['apellido_persona_2'],
												"direccion_persona" => $this->getDireccion($usuario[0]['P']['direccion_id']),
												"fecha_nacimiento" => $usuario[0]['P']['fecha_nacimiento'],
												
												"telefono_persona_1" => $usuario[0]['P']['nro_tlf_persona_1'],
												"telefono_persona_2" => $usuario[0]['P']['nro_tlf_persona_2'],
												
												"sexo_persona" => $usuario[0]['P']['sexo_persona'],
												"foto_persona" => $usuario[0]['P']['foto_persona']
											)
					  );
				
			$familiares = $this->getFamiliar($username);

			foreach ($familiares as $familiar ) 
			{
				array_push($datos_familiares, array(
														"familiar_id" => $familiar['F']['id'],
														"ci_familiar" => $familiar['F']['ci_familiar'],
														"nombre_familiar_1" => $familiar['F']['nombre_familiar_1'],
														"nombre_familiar_2" => $familiar['F']['nombre_familiar_2'],
														"apellido_familiar_1" => $familiar['F']['apellido_familiar_1'],
														"apellido_familiar_2" => $familiar['F']['apellido_familiar_2'],
														"fecha_nacimiento" => $familiar['F']['fecha_nac_familiar'],
														"foto_familiar" => $familiar['F']['foto_familiar'],
														"sexo_familiar" => $familiar['F']['sexo_familiar'],
														
														"asegurado" => ($familiar['FP']['poliza_id'] == null ? FALSE : TRUE ),
														
														"parentesco_id" => $familiar['P']['id'],
														"nombre_parentesco" => $familiar['P']['nombre_parentesco'],
														"descripcion_parentesco" => $familiar['P']['descripcion_parentesco'],
														

													)
							  );

			}
			$estudios = $this->getEstudio($username);
			
			foreach ($estudios as $estudio) 
			{
				array_push($datos_estudios, array(
				
													"estudio_id" => $estudio['E']['id'],
													"nombre_estudio" => $estudio['E']['nombre_estudio'],
													"decripcion_estudio" => $estudio['E']['descripcion_estudio'],
													
													"universidad_id" => $estudio['UD']['id'],
													"nombre_universidad" => $estudio['UD']['nombre_universidad'],
													"acronimo_universidad" => $estudio['UD']['acronimo_universidad'],
													"descripcion_universidad" => $estudio['UD']['descripcion_universidad'],
													
													"tipo_estudio_id" => $estudio['TE']['id'],
													"nombre_tipo_estudio" => $estudio['TE']['nombre_tipo_estudio'],
													"descripcion_tipo_estudio" => $estudio['TE']['descripcion_tipo_estudio'],
													
													"fecha_inic_estudio" => $estudio['EU']['fecha_inic_estudios'],
													"fecha_fin_estudio" => $estudio['EU']['fecha_fin_estudios'],
													
													
												)
						  );
			}
			$adiestramientos = $this->getAdiestramiento($username);
			
			foreach ($adiestramientos as $adiestramiento) 
			{
				array_push($datos_adiestramientos, array(
				
													"adiestramiento_id" => $adiestramiento['A']['id'],
													"nombre_adiestramiento" => $adiestramiento['A']['nombre_diestramiento'],
													"ano_adiestramiento" => $adiestramiento['A']['ano_adiestramiento'],
													
													"tipo_adiestramiento_id" => $adiestramiento['TA']['id'],
													"nombre_tipo_adiestramiento" => $adiestramiento['TA']['nombre_tipo_adiestramiento'],
													"descripcion_tipo_adiestramiento" => $adiestramiento['TA']['descripcion_tipo_adiestramiento'],
													
												)
						  );
			}
			$seguros = $this->getSeguro($username);
			
			foreach ($seguros as $seguro) 
			{
				array_push($datos_seguro, array(
				
													"seguro_id" => $seguro['S']['id'],
													"nombre_seguro" => $seguro['S']['nombre_seguro'],
													"rif_seguro" => $seguro['S']['rif_seguro'],
													"nro_tlf_seguro_1" => $seguro['S']['nro_tlf_seguro_1'],
													"nro_tlf_seguro_2" => $seguro['S']['nro_tlf_seguro_2'],
													
													"poliza_id" => $seguro['P']['id'],
													"numero_poliza" => $seguro['P']['numero_poliza'],
													"cant_asegurada" => $seguro['P']['cant_asegurada'],
													"prima_seguro" => $seguro['P']['prima_seguro'],
													"fecha_inic_poliza" => $seguro['P']['fecha_inic_poliza'],
													"fecha_fin_poliza" => $seguro['P']['fecha_fin_poliza'],
													
													"nombre_corredor" => $seguro['S']['nombre_corredor'],
													"apellido_corredor" => $seguro['S']['apellido_corredor'],
													"nro_tlf_corredor_1" => $seguro['S']['nro_tlf_corredor_1'],
													"nro_tlf_corredor_2" => $seguro['S']['nro_tlf_corredor_2'],
													"email_corredor" => $seguro['S']['email_corredor'],
													
													
													
												)
						  );
			}
			$datos = array();
			array_push(
							$datos, array(
													'DATOS_USUARIO' => $datos_usuario,
													'DATOS_FAMILIAR' => $datos_familiares,
													'DATOS_ESTUDIO' => $datos_estudios,
													'DATOS_ADIESTRAMIENTO' => $datos_adiestramientos,
													'DATOS_SEGURO' => $datos_seguro,
												)
						);
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
			
		}
		return json_encode($user);
		//$this->set('json',json_encode($user));
		
	
		
	}
	
	public function getUserInfo($username,$pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'USERINFO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$user[$nombre_procedimiento] = array();
		$datos_usuario = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
		$supervisor = $this->getSupervisor($usuario[0]['P']['id']);									
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_VACIO,
										'DATA' => array("")
									 ); 
		}
		else 
		{
			
			array_push($datos_usuario, array(
												"persona_id" => $usuario[0]['P']['id'], 
												"username" => $usuario[0]['U']['username'],
												"tipo_cuenta_id" => $usuario[0]['TC']['id'],
												"nombre_tipo_cuenta" => $usuario[0]['TC']['nombre_tipo_cuenta'],
												"cedula_persona" => $usuario[0]['P']['ci_persona'],
												"nombre_usuario_1" => $usuario[0]['P']['nombre_persona_1'],
												"nombre_usuario_2" => $usuario[0]['P']['nombre_persona_2'],
												"apellido_usuario_1" => $usuario[0]['P']['apellido_persona_1'],
												"apellido_usuario_2" => $usuario[0]['P']['apellido_persona_2'],
												"direccion_persona" => $this->getDireccion($usuario[0]['P']['direccion_id']),
												"fecha_nacimiento" => $usuario[0]['P']['fecha_nacimiento'],
												"url_foto_persona" => $usuario[0]['P']['url_foto_persona'],
												"email_persona" => $usuario[0]['P']['email_persona'],
												"telefono_persona_1" => $usuario[0]['P']['nro_tlf_persona_1'],
												"telefono_persona_2" => $usuario[0]['P']['nro_tlf_persona_2'],
												"sexo_persona" => $usuario[0]['P']['sexo_persona'],
												"nacionalidad_persona" => $usuario[0]['TN']['nombre_nacionalidad'],
												
												"departamento_id" => $usuario[0]['DP']['id'],
												"nombre_departamento" => $usuario[0]['DP']['nombre_departamento'],
												"descripcion_departamento" => $usuario[0]['DP']['descripcion_departamento'],
												"fecha_inic_departamento" => $usuario[0]['DPP']['fecha_inic_persona_departamento'],
												"fecha_fin_departamento" => $usuario[0]['DPP']['fecha_fin_persona_departamento'],
												"direccion_departamento" => $usuario[0]['DPS']['direccion_departamento_sede'],
												"cargo_departamento" => $usuario[0]['TCC']['nombre_tipo_cargo'],
												
												"sede_id" => $usuario[0]['S']['id'],
												"nombre_sede" => $usuario[0]['S']['nombre_sede'],
												
												"superior_id" => $supervisor[0]['SUP']['id'], 
												"cedula_superior" => $supervisor[0]['SUP']['ci_persona'],
												"nombre_superior_1" => $supervisor[0]['SUP']['nombre_persona_1'],
												"nombre_superior_2" => $supervisor[0]['SUP']['nombre_persona_2'],
												"apellido_superior_1" => $supervisor[0]['SUP']['apellido_persona_1'],
												"apellido_superior_2" => $supervisor[0]['SUP']['apellido_persona_2'],
												"email_superior" => $supervisor[0]['SUP']['email_persona'],
												"telefono_superior_1" => $supervisor[0]['SUP']['nro_tlf_persona_1'],
												"telefono_superior_2" => $supervisor[0]['SUP']['nro_tlf_persona_2'],
												
												
												
												
												
											)
					  );
				
			
			
			$datos = array();
			array_push(
							$datos, array(
													'DATOS_USUARIO' => $datos_usuario
												)
						);
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
			
		}
		return json_encode($user);
		//$this->set('json',json_encode($user));
		
	
		
	}
	
	public function getAllUserInfoDetail($username, $pass)
	{

		$this->layout = null;
		
		$nombre_procedimiento = 'ALLUSERINFODETAIL';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$arreglo_json = array();

		
		$user[$nombre_procedimiento] = array();
		$datos_modulo = array();
		$datos_usuario = array();
		$datos_familiares = array();
		$datos_estudios = array();
		$datos_adiestramientos = array();
		$datos_seguro = array();
		$datos_hospital = array();
		$arreglo_json = array();
		
		$usuario = $this->getUsuario($username, $pass);
		$supervisor = $this->getSupervisor($usuario[0]['P']['id']);
		
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
			
		}
		else 
		{
			
				
				array_push($datos_usuario, array(
												"persona_id" => $usuario[0]['P']['id'], 
												"username" => $usuario[0]['U']['username'],
												"tipo_cuenta_id" => $usuario[0]['TC']['id'],
												"nombre_tipo_cuenta" => $usuario[0]['TC']['nombre_tipo_cuenta'],
												"cedula_persona" => $usuario[0]['P']['ci_persona'],
												"nombre_usuario_1" => $usuario[0]['P']['nombre_persona_1'],
												"nombre_usuario_2" => $usuario[0]['P']['nombre_persona_2'],
												"apellido_usuario_1" => $usuario[0]['P']['apellido_persona_1'],
												"apellido_usuario_2" => $usuario[0]['P']['apellido_persona_2'],
												"direccion_persona" => $this->getDireccion($usuario[0]['P']['direccion_id']),
												"fecha_nacimiento" => $usuario[0]['P']['fecha_nacimiento'],
												"email_persona" => $usuario[0]['P']['email_persona'],
												"telefono_persona_1" => $usuario[0]['P']['nro_tlf_persona_1'],
												"telefono_persona_2" => $usuario[0]['P']['nro_tlf_persona_2'],
												"sexo_persona" => $usuario[0]['P']['sexo_persona'],
												"url_foto_persona" => $usuario[0]['P']['url_foto_persona'],
												"nacionalidad_persona" => $usuario[0]['TN']['nombre_nacionalidad'],
												
												"departamento_id" => $usuario[0]['DP']['id'],
												"nombre_departamento" => $usuario[0]['DP']['nombre_departamento'],
												"descripcion_departamento" => $usuario[0]['DP']['descripcion_departamento'],
												"fecha_inic_departamento" => $usuario[0]['DPP']['fecha_inic_persona_departamento'],
												"fecha_fin_departamento" => $usuario[0]['DPP']['fecha_fin_persona_departamento'],
												"direccion_departamento" => $usuario[0]['DPS']['direccion_departamento_sede'],
												"cargo_departamento" => $usuario[0]['TCC']['nombre_tipo_cargo'],
												
												
												"usuario_id" => $usuario[0]['U']['id'], 
												"username" => $usuario[0]['U']['username'],
												
												"sede_id" => $usuario[0]['S']['id'],
												"nombre_sede" => $usuario[0]['S']['nombre_sede'],
												
												"superior_id" => $supervisor[0]['SUP']['id'], 
												"cedula_superior" => $supervisor[0]['SUP']['ci_persona'],
												"nombre_superior_1" => $supervisor[0]['SUP']['nombre_persona_1'],
												"nombre_superior_2" => $supervisor[0]['SUP']['nombre_persona_2'],
												"apellido_superior_1" => $supervisor[0]['SUP']['apellido_persona_1'],
												"apellido_superior_2" => $supervisor[0]['SUP']['apellido_persona_2'],
												"email_superior" => $supervisor[0]['SUP']['email_persona'],
												"telefono_superior_1" => $supervisor[0]['SUP']['nro_tlf_persona_1'],
												"telefono_superior_2" => $supervisor[0]['SUP']['nro_tlf_persona_2'],
												
												
											)
					  );
				$modulos = $this->getModulo($username);
				
				foreach ($modulos as $modulo) 
				{
					array_push($datos_modulo, array(
														"id" => $modulo['M']['id'], 
														"nombre_modulo" => $modulo['M']['nombre_modulo_sistema'],
														"modulo_sistema_id" => $modulo['M']['modulo_sistema_id'],
														"descripcion_modulo" => $modulo['M']['descripcion_modulo_sistema']
													)
								);
				}
				
				$familiares = $this->getFamiliar($username);
	
				foreach ($familiares as $familiar ) 
				{
					array_push($datos_familiares, array(
															"familiar_id" => $familiar['F']['id'],
															"ci_familiar" => $familiar['F']['ci_familiar'],
															"nombre_familiar_1" => $familiar['F']['nombre_familiar_1'],
															"nombre_familiar_2" => $familiar['F']['nombre_familiar_2'],
															"apellido_familiar_1" => $familiar['F']['apellido_familiar_1'],
															"apellido_familiar_2" => $familiar['F']['apellido_familiar_2'],
															"fecha_nacimiento" => $familiar['F']['fecha_nac_familiar'],
															"foto_familiar" => $familiar['F']['foto_familiar'],
															"sexo_familiar" => $familiar['F']['sexo_familiar'],
															
															"asegurado" => ($familiar['FP']['poliza_id'] == NULL ? FALSE : TRUE ),
															
															"parentesco_id" => $familiar['P']['id'],
															"nombre_parentesco" => $familiar['P']['nombre_parentesco'],
															"descripcion_parentesco" => $familiar['P']['descripcion_parentesco'],
															
	
														)
								  );
	
				}
				$estudios = $this->getEstudio($username);
				
				foreach ($estudios as $estudio) 
				{
					array_push($datos_estudios, array(
					
														"estudio_id" => $estudio['E']['id'],
														"nombre_estudio" => $estudio['E']['nombre_estudio'],
														"decripcion_estudio" => $estudio['E']['descripcion_estudio'],
														
														"universidad_id" => $estudio['UD']['id'],
														"nombre_universidad" => $estudio['UD']['nombre_universidad'],
														"acronimo_universidad" => $estudio['UD']['acronimo_universidad'],
														"descripcion_universidad" => $estudio['UD']['descripcion_universidad'],
														
														"tipo_estudio_id" => $estudio['TE']['id'],
														"nombre_tipo_estudio" => $estudio['TE']['nombre_tipo_estudio'],
														"descripcion_tipo_estudio" => $estudio['TE']['descripcion_tipo_estudio'],
														
														"fecha_inic_estudio" => $estudio['EU']['fecha_inic_estudios'],
														"fecha_fin_estudio" => $estudio['EU']['fecha_fin_estudios'],
														
														
													)
							  );
				}
				$adiestramientos = $this->getAdiestramiento($username);
				
				foreach ($adiestramientos as $adiestramiento) 
				{
					array_push($datos_adiestramientos, array(
					
														"adiestramiento_id" => $adiestramiento['A']['id'],
														"nombre_adiestramiento" => $adiestramiento['A']['nombre_diestramiento'],
														"ano_adiestramiento" => $adiestramiento['A']['ano_adiestramiento'],
														
														"tipo_adiestramiento_id" => $adiestramiento['TA']['id'],
														"nombre_tipo_adiestramiento" => $adiestramiento['TA']['nombre_tipo_adiestramiento'],
														"descripcion_tipo_adiestramiento" => $adiestramiento['TA']['descripcion_tipo_adiestramiento'],
														
													)
							  );
				}
				$seguros = $this->getSeguro($username);
				
				foreach ($seguros as $seguro) 
				{
					array_push($datos_seguro, array(
					
														"seguro_id" => $seguro['S']['id'],
														"nombre_seguro" => $seguro['S']['nombre_seguro'],
														"rif_seguro" => $seguro['S']['rif_seguro'],
														"nro_tlf_seguro_1" => $seguro['S']['nro_tlf_seguro_1'],
														"nro_tlf_seguro_2" => $seguro['S']['nro_tlf_seguro_2'],
														
														"poliza_id" => $seguro['P']['id'],
														"numero_poliza" => $seguro['P']['numero_poliza'],
														"cant_asegurada" => $seguro['P']['cant_asegurada'],
														"prima_seguro" => $seguro['P']['prima_seguro'],
														"fecha_inic_poliza" => $seguro['P']['fecha_inic_poliza'],
														"fecha_fin_poliza" => $seguro['P']['fecha_fin_poliza'],
														
														"nombre_corredor" => $seguro['S']['nombre_corredor'],
														"apellido_corredor" => $seguro['S']['apellido_corredor'],
														"nro_tlf_corredor_1" => $seguro['S']['nro_tlf_corredor_1'],
														"nro_tlf_corredor_2" => $seguro['S']['nro_tlf_corredor_2'],
														"email_corredor" => $seguro['S']['email_corredor'],
														
														
														
													)
							  );
				}
				$hospitales = $this->getHospital($datos_seguro[0]['seguro_id']);
				
				foreach ($hospitales as $hospital ) 
				{
					array_push($datos_hospital, array(
															"hospital_id" => $hospital['H']['id'],
															"nombre_hospital" => $hospital['H']['nombre_hospital'],
															"rif_hospital" => $hospital['H']['rif_hospital'],
															"nro_tlf_hospital_1" => $hospital['H']['nro_tlf_hospital_1'],
															"nro_tlf_hospital_2" => $hospital['H']['nro_tlf_hospital_2'],
															"nombre_persona_contacto_hospital" => $hospital['H']['nombre_persona_contacto_hospital'],
															"nombre_direccion" => $this->getDireccion($hospital['H']['direccion_id'])
														)
								  );
	
				}
				
				$datos = array();
				array_push(
								$datos, array(
														
														'DATOS_USUARIO' => $datos_usuario,
														'DATOS_MODULO' => $datos_modulo,
														'DATOS_FAMILIAR' => $datos_familiares,
														'DATOS_ESTUDIO' => $datos_estudios,
														'DATOS_ADIESTRAMIENTO' => $datos_adiestramientos,
														'DATOS_SEGURO' => $datos_seguro,
														'DATOS_HOSPITAL' => $datos_hospital
														
													)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				


			
		}

		return json_encode($user);
		
		//$this->set('json',json_encode($user));
		

	}
	
	public function loginEmpleado($username, $pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'AUTHUSER';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$arreglo_json = array();
		$datos_usuario = array();
		$datos_modulo = array();
		
		$user[$nombre_procedimiento] = array();
		$usuario = $this->getUsuario($username, $pass);
	
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array()
												 ); 
			
		}
		else 
		{
			if (($usuario[0]['U']['active_user'] == 1) && ($usuario[0]['U']['tipo_cuenta_id'] != 1))
			{
					
				$datos = array();
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => array()
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			else
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_ACCESO_DENEGADO,
														'DATA' => array()
													 ); 
			}
		}
		return json_encode($user);
		
	}
	
	public function loginEmpleado2($username, $pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'AUTHUSER';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$arreglo_json = array();

		
		$user[$nombre_procedimiento] = array();
		$usuario = $this->getUsuario($username, $pass);
	
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
			
		}
		else 
		{
			if (($usuario[0]['U']['active_user'] == 1) && ($usuario[0]['U']['tipo_cuenta_id'] != 1))
			{
				$datos_usuario = array();
				$datos_modulo = array();
				
				$datos_login = $this->Persona->query(
														"SELECT *
															FROM 
															configuracion_sistemas CSI,
															configuracion_modulos CM,
															departamento_personas DP,
															modulo_sistemas M,
															personas P,
															sedes S,
															users U
															WHERE U.persona_id = P.id 
															AND DP.persona_id = P.id
															AND DP.sede_id = S.id
															AND S.configuracion_sistema_id = CSI.id
															AND CM.configuracion_sistema_id = CSI.id
															AND CM.modulo_sistema_id = M.id
															AND U.tipo_cuenta_id = ".$usuario[0]['U']['tipo_cuenta_id']." 
															AND U.id = ".$usuario[0]['U']['id']." 
															AND DP.fecha_fin_persona_departamento IS NULL"
													); 
				
				array_push($datos_usuario, array(
													"id" => $datos_login[0]['U']['id'], 
													"username" => $datos_login[0]['U']['username'],
													"tipo_cuenta" => $datos_login[0]['U']['tipo_cuenta_id']
												)
							);
				
				foreach ($datos_login as $datos) 
				{
					array_push($datos_modulo, array(
														"id" => $datos['M']['id'], 
														"nombre_modulo" => $datos['M']['nombre_modulo_sistema'],
														"modulo_sistema_id" => $datos['M']['modulo_sistema_id'],
														"descripcion_modulo" => $datos['M']['descripcion_modulo_sistema']
													)
								);
				}
				
				$datos = array();
				array_push(
								$datos, array(
														'DATOS_USUARIO' => $datos_usuario,
														'DATOS_MODULO' => $datos_modulo,
													)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			else
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_ACCESO_DENEGADO,
														'DATA' => array()
													 ); 
			}
		}
		return json_encode($user);
		
	}
	
	public function loginEmpleado1($username, $pass)
	{
		$this->layout = null;
		
		$nombre_procedimiento = 'AUTHUSER';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$arreglo_json = array();

		
		$user[$nombre_procedimiento] = array();
		$datos_modulo = array();
		$datos_usuario = array();
		$datos_familiares = array();
		$datos_estudios = array();
		$datos_adiestramientos = array();
		$datos_seguro = array();
		$datos_hospital = array();
		$arreglo_json = array();
		
		$usuario = $this->getUsuario($username, $pass);
	
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
			
		}
		else 
		{
			if (($usuario[0]['U']['active_user'] == 1) && ($usuario[0]['U']['tipo_cuenta_id'] != 1))
			{
				
				
				array_push($datos_usuario, array(
												"persona_id" => $usuario[0]['P']['id'], 
												"username" => $usuario[0]['U']['username'],
												"tipo_cuenta_id" => $usuario[0]['TC']['id'],
												"nombre_tipo_cuenta" => $usuario[0]['TC']['nombre_tipo_cuenta'],
												"cedula_persona" => $usuario[0]['P']['ci_persona'],
												"nombre_usuario_1" => $usuario[0]['P']['nombre_persona_1'],
												"nombre_usuario_2" => $usuario[0]['P']['nombre_persona_2'],
												"apellido_usuario_1" => $usuario[0]['P']['apellido_persona_1'],
												"apellido_usuario_2" => $usuario[0]['P']['apellido_persona_2'],
												"direccion_persona" => $this->getDireccion($usuario[0]['P']['direccion_id']),
												"fecha_nacimiento" => $usuario[0]['P']['fecha_nacimiento'],
												"url_foto_persona" => $usuario[0]['P']['url_foto_persona'],
												"email_persona" => $usuario[0]['P']['email_persona'],
												
												"telefono_persona_1" => $usuario[0]['P']['nro_tlf_persona_1'],
												"telefono_persona_2" => $usuario[0]['P']['nro_tlf_persona_2'],
												
												"sexo_persona" => $usuario[0]['P']['sexo_persona'],
												"url_foto_persona" => $usuario[0]['P']['url_foto_persona'],
												
												"departamento_id" => $usuario[0]['DP']['id'],
												"nombre_departamento" => $usuario[0]['DP']['nombre_departamento'],
												"descripcion_departamento" => $usuario[0]['DP']['descripcion_departamento'],
												"fecha_inic_departamento" => $usuario[0]['DPP']['fecha_inic_persona_departamento'],
												"fecha_fin_departamento" => $usuario[0]['DPP']['fecha_fin_persona_departamento'],
												"direccion_departamento" => $usuario[0]['DPS']['direccion_departamento_sede'],
												"cargo_departamento" => $usuario[0]['TCC']['nombre_tipo_cargo'],
												
												"usuario_id" => $usuario[0]['U']['id'], 
												"username" => $usuario[0]['U']['username'],
												
												
											)
					  );
				$modulos = $this->getModulo($username);
				
				foreach ($modulos as $modulo) 
				{
					array_push($datos_modulo, array(
														"id" => $modulo['M']['id'], 
														"nombre_modulo" => $modulo['M']['nombre_modulo_sistema'],
														"modulo_sistema_id" => $modulo['M']['modulo_sistema_id'],
														"descripcion_modulo" => $modulo['M']['descripcion_modulo_sistema']
													)
								);
				}
				
				$familiares = $this->getFamiliar($username);
	
				foreach ($familiares as $familiar ) 
				{
					array_push($datos_familiares, array(
															"familiar_id" => $familiar['F']['id'],
															"ci_familiar" => $familiar['F']['ci_familiar'],
															"nombre_familiar_1" => $familiar['F']['nombre_familiar_1'],
															"nombre_familiar_2" => $familiar['F']['nombre_familiar_2'],
															"apellido_familiar_1" => $familiar['F']['apellido_familiar_1'],
															"apellido_familiar_2" => $familiar['F']['apellido_familiar_2'],
															"fecha_nacimiento" => $familiar['F']['fecha_nac_familiar'],
															"foto_familiar" => $familiar['F']['foto_familiar'],
															"sexo_familiar" => $familiar['F']['sexo_familiar'],
															
															"asegurado" => ($familiar['FP']['poliza_id'] == NULL ? FALSE : TRUE ),
															
															"parentesco_id" => $familiar['P']['id'],
															"nombre_parentesco" => $familiar['P']['nombre_parentesco'],
															"descripcion_parentesco" => $familiar['P']['descripcion_parentesco'],
															
	
														)
								  );
	
				}
				$estudios = $this->getEstudio($username);
				
				foreach ($estudios as $estudio) 
				{
					array_push($datos_estudios, array(
					
														"estudio_id" => $estudio['E']['id'],
														"nombre_estudio" => $estudio['E']['nombre_estudio'],
														"decripcion_estudio" => $estudio['E']['descripcion_estudio'],
														
														"universidad_id" => $estudio['UD']['id'],
														"nombre_universidad" => $estudio['UD']['nombre_universidad'],
														"acronimo_universidad" => $estudio['UD']['acronimo_universidad'],
														"descripcion_universidad" => $estudio['UD']['descripcion_universidad'],
														
														"tipo_estudio_id" => $estudio['TE']['id'],
														"nombre_tipo_estudio" => $estudio['TE']['nombre_tipo_estudio'],
														"descripcion_tipo_estudio" => $estudio['TE']['descripcion_tipo_estudio'],
														
														"fecha_inic_estudio" => $estudio['EU']['fecha_inic_estudios'],
														"fecha_fin_estudio" => $estudio['EU']['fecha_fin_estudios'],
														
														
													)
							  );
				}
				$adiestramientos = $this->getAdiestramiento($username);
				
				foreach ($adiestramientos as $adiestramiento) 
				{
					array_push($datos_adiestramientos, array(
					
														"adiestramiento_id" => $adiestramiento['A']['id'],
														"nombre_adiestramiento" => $adiestramiento['A']['nombre_diestramiento'],
														"ano_adiestramiento" => $adiestramiento['A']['ano_adiestramiento'],
														
														"tipo_adiestramiento_id" => $adiestramiento['TA']['id'],
														"nombre_tipo_adiestramiento" => $adiestramiento['TA']['nombre_tipo_adiestramiento'],
														"descripcion_tipo_adiestramiento" => $adiestramiento['TA']['descripcion_tipo_adiestramiento'],
														
													)
							  );
				}
				$seguros = $this->getSeguro($username);
				
				foreach ($seguros as $seguro) 
				{
					array_push($datos_seguro, array(
					
														"seguro_id" => $seguro['S']['id'],
														"nombre_seguro" => $seguro['S']['nombre_seguro'],
														"rif_seguro" => $seguro['S']['rif_seguro'],
														"nro_tlf_seguro_1" => $seguro['S']['nro_tlf_seguro_1'],
														"nro_tlf_seguro_2" => $seguro['S']['nro_tlf_seguro_2'],
														
														"poliza_id" => $seguro['P']['id'],
														"numero_poliza" => $seguro['P']['numero_poliza'],
														"cant_asegurada" => $seguro['P']['cant_asegurada'],
														"prima_seguro" => $seguro['P']['prima_seguro'],
														"fecha_inic_poliza" => $seguro['P']['fecha_inic_poliza'],
														"fecha_fin_poliza" => $seguro['P']['fecha_fin_poliza'],
														
														"nombre_corredor" => $seguro['S']['nombre_corredor'],
														"apellido_corredor" => $seguro['S']['apellido_corredor'],
														"nro_tlf_corredor_1" => $seguro['S']['nro_tlf_corredor_1'],
														"nro_tlf_corredor_2" => $seguro['S']['nro_tlf_corredor_2'],
														"email_corredor" => $seguro['S']['email_corredor'],
														
														
														
													)
							  );
				}
				$hospitales = $this->getHospital($datos_seguro[0]['seguro_id']);
				
				foreach ($hospitales as $hospital ) 
				{
					array_push($datos_hospital, array(
															"hospital_id" => $hospital['H']['id'],
															"nombre_hospital" => $hospital['H']['nombre_hospital'],
															"rif_hospital" => $hospital['H']['rif_hospital'],
															"nro_tlf_hospital_1" => $hospital['H']['nro_tlf_hospital_1'],
															"nro_tlf_hospital_2" => $hospital['H']['nro_tlf_hospital_2'],
															"nombre_persona_contacto_hospital" => $hospital['H']['nombre_persona_contacto_hospital'],
															"nombre_direccion" => $this->getDireccion($hospital['H']['direccion_id'])
														)
								  );
	
				}
				
				$datos = array();
				array_push(
								$datos, array(
														
														'DATOS_USUARIO' => $datos_usuario,
														'DATOS_MODULO' => $datos_modulo,
														'DATOS_FAMILIAR' => $datos_familiares,
														'DATOS_ESTUDIO' => $datos_estudios,
														'DATOS_ADIESTRAMIENTO' => $datos_adiestramientos,
														'DATOS_SEGURO' => $datos_seguro,
														//'DATOS_HOSPITAL' => $datos_hospital
														
													)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				

				
			}
			else
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_ACCESO_DENEGADO,
														'DATA' => array()
													 ); 
			}
		}

		return json_encode($user);
		
		//$this->set('json',json_encode($user));
		
	}

	public function getListaComidaComedor ($username, $pass, $fecha_menu, $id_tipo_menu)
	{
		
		
		$this->layout = null;
		$nombre_procedimiento = 'GETLISTACOMIDACOMEDOR';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_menu = array();
		$datos_comida = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array( 	'DATOS_MENU' => array(""),
															'DATOS_COMIDA' => array(""))
									 ); 
		}
		else 
		{
				
			$comidas = $this->User-> query(	
											'SELECT C.*,TC.*,MD.*,TM.*
												FROM users U, departamento_personas DP, menu_dias MD, comida_menus CM,
												comidas C, tipo_comidas TC, tipo_menus TM
												WHERE U.username = "'.$username.'" AND
												U.persona_id = DP.persona_id AND
												DP.fecha_fin_persona_departamento is NULL AND
												DP.sede_id = MD.sede_id AND
												TM.id = MD.tipo_menu_id AND
												MD.id = CM.menu_del_dia_id AND
												MD.fecha_menu_dia = "'.$fecha_menu.'" AND
												MD.tipo_menu_id = "'.$id_tipo_menu.'" AND
												C.id = CM.comida_id AND
												TC.id = C.tipo_comida_id'
											);
			if (count($comidas) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array( 	'DATOS_MENU' => array(""),
																			'DATOS_COMIDA' => array(""))
													 ); 
			}
			else 
			{
				foreach ($comidas as $comida ) 
				{
					array_push($datos_comida, array(
															"comida_id" => $comida['C']['id'],
															"nombre_comida" => $comida['C']['nombre_comida'],
															"foto_comida" => $comida['C']['foto_comida'],
															"descripcion_comida" => $comida['C']['descripcion_comida'],
															"tipo_comida_id" => $comida['TC']['id'],
															"nombre_tipo_comida" => $comida['TC']['nombre_tipo_comida']
	
														)
								  );
				}
				$datos = array();
				
				array_push(
								$datos_menu, array(
														"menu_dia_id" => $comidas[0]['MD']['id'],
														"fecha_menu_dia" => $comidas[0]['MD']['fecha_menu_dia'],
														"tipo_menu_id" => $comidas[0]['TM']['id'],
														"tipo_menu_nombre" => $comidas[0]['TM']['nombre_tipo_menu'],
														"tipo_menu_descripcion" => $comidas[0]['TM']['descripcion_tipo_menu'],
														
			
													)
				  );
				
				array_push(
								$datos, array(
													'DATOS_MENU' => $datos_menu,
													'DATOS_COMIDA' => $datos_comida
												)
							);
				
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
		
	}
	
	public function getListaArticulosCatalogo ($username, $pass)
	{
		

		$this->layout = null;
		$nombre_procedimiento = 'GETLISTAARTICULOCATALOGO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_articulo = array();
		$arreglo_json = array();
		
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array( 'DATOS_ARTICULO' => array())
												 ); 
		}
		else 
		{
			$str_query = 'SELECT *
								FROM catalogos C, articulos A,
								tipo_articulos TA, tipo_disponibilidads TD
								WHERE TA.id = A.tipo_articulo_id AND
								TD.id = C.tipo_disponibilidad_id AND
								A.id = C.articulo_id AND
								A.status_articulo = true';
							
			$articulos = $this->User-> query($str_query);
			
			if(count($articulos) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array(
																			'DATOS_ARTICULO' => array("")
																		)
													 ); 
			}
			else 
			{
				foreach ($articulos as $articulo ) 
				{
					array_push($datos_articulo, array(
															"articulo_id" => $articulo['A']['id'],
															"nombre_articulo" => $articulo['A']['nombre_articulo'],
															"codigo_articulo" => $articulo['A']['codigo_articulo'],
															"descripcion_articulo" => $articulo['A']['descripcion_articulo'],
															"foto_articulo" => $articulo['A']['foto_articulo'],
															
															"status_articulo" => $articulo['A']['status_articulo'],
															"precio_unitario" => $articulo['C']['precio_unitario_articulo'],
															"cantidad_disponible" => $articulo['C']['cantidad_disponible'],
															
															"tipo_articulo_id" => $articulo['TA']['id'],
															"nombre_tipo_articulo" => $articulo['TA']['nombre_tipo_articulo'],
															
															"disponibilidad_id" => $articulo['TD']['id'],
															"nombre_disponibilidad" => $articulo['TD']['nombre_tipo_disponibilidad'],
															
															
	
														)
								  );
	
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_ARTICULO' => $datos_articulo
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
						
			}			
						
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
		
	}
	
	public function setCompraArticulo($username, $pass, $id_articulos, $cantidades)
	{
		$this->layout = null;
		$nombre_procedimiento = 'SETCOMPRAARTICULO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_articulo = array();
		$arreglo_json = array();
		
		$usuario = $this->getUsuario($username, $pass);
							
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
		
			$list_articulos = explode(',', $id_articulos);
			$list_cantidades = explode(',', $cantidades);
			$buenas = array();
			$malas = array();
			
			if (count($list_articulos) == 0)
			{
				$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
			}
			else 
			{
				$costo = $this->calcular_total($list_articulos, $list_cantidades);
				/*Cambiar id_tienda*/
				//$this->loadModel('SolicitudCompra');
				
				$costo_float = floatval($costo);
				$tienda_id	= '1';
				$persona_id	= $usuario[0]['U']['persona_id'];
				
				if ($this->insertSolicitudCompra($costo, $tienda_id, $persona_id))
				{
					
					for ($i=0; $i < count($list_articulos) ; $i++) 
					{ 
						if($this->insertArticuloSolicitudCompra($this->SolicitudCompra->id, 
																$list_cantidades[$i], 
																$this->getArticulo($list_articulos[$i])))
						{
							array_push($buenas,$list_articulos[$i]);
							
						}
						else 
						{
							array_push($malas,$list_articulos[$i]);
						}	
					}
					$datos = array();
					if (count($buenas) == count($list_articulos) )
					{
						array_push(
									$datos, array(
														'STATUS_SOLICITUD' => $CODIGO_BIEN
													)
								);
						$this->requestAction('/api/sendEmailSolicitudCompra/'.$usuario[0]['U']['username'].'/'.$this->SolicitudCompra->id);
					}
					elseif (count($buenas) > 0) 
					{
						array_push(
									$datos, array(
														'STATUS_SOLICITUD' => $CODIGO_INCOMPLETO
													)
								);
					}
					else 
					{
						array_push(
									$datos, array(
														'STATUS_SOLICITUD' => $CODIGO_NINGUNO
													)
								);
					}
					
					
					
					array_push(
									$arreglo_json, array(
															'STATUS' => $CODIGO_BIEN,
															'DATA' => $datos,
														)
								);
					$user[$nombre_procedimiento] = $arreglo_json;
					
					
				}
			}
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));

	}

	public function getCantVacaciones($username,$pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETCANTVACACIONES';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_articulo = array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
			
			$datos = array();
			try 
			{
					
				$this->requestAction('/api/sendEmailCantVacaciones/'.$usuario[0]['U']['username']);
										
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_BIEN
											)
						);
			}
			catch (Exception $ee)
			{
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);
			}
			
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function getBeneficiosLOT($username,$pass)
	{
			
		$this->layout = null;
		$nombre_procedimiento = 'GETBENEFICIOSLOT';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_beneficios= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			$beneficioslot = $this->User->query(
														"SELECT BA.*
															FROM users U, departamento_personas DP, 
															beneficios_administrativos_sedes BAS, 
															beneficios_administrativos BA
															WHERE U.persona_id = DP.persona_id AND
															BAS.sede_id = DP.sede_id AND
															BA.id = BAS.beneficios_administrativos_id AND
															U.username = '".$username."'"
												);
			
			if (count($beneficioslot) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($beneficioslot as $beneficiolot) 
				{
					array_push($datos_beneficios, array(
														"beneficio_administrativo_id" => $beneficiolot['BA']['id'],
														"nombre_beneficio_administrativo" => 
																				$beneficiolot['BA']['nombre_beneficio_administrativo'],
														"descripcion_beneficio_administrativo" => 
																				$beneficiolot['BA']['descripcion_beneficio_administrativo']
													

													)
							  );
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_BENEFICIOS' => $datos_beneficios
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		return json_encode($user);
		//$this->set('json',json_encode($user));
		
		
	}
	
	public function getPlanillaBeneficios($username,$pass,$beneficio_id)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETPLANILLABENEFICIO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_articulo = array();
		$arreglo_json = array();
			
		$usuario = $this->getUsuario($username, $pass);
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
			
			$datos = array();
			
				try 
				{
						
					$this->requestAction('/api/sendEmailPlanillaBeneficio/'.$beneficio_id.
											'/'.$usuario[0]['U']['username']);
											
										
					array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_BIEN
												)
							);
				}
				catch (Exception $ee)
				{
					
					array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_ERROR
												)
							);
				}
				
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
			
			
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function getPlanillaVacaciones($username,$pass,$cantidad,$fecha_inicio,$fecha_tope)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETPLANILLAVACACIONES';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_articulo = array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
			
			$datos = array();
			try 
			{
					
				$this->requestAction('/api/sendEmailPlanillaVacaciones/'.$usuario[0]['U']['username'].
										'/'.$cantidad.'/'.strtotime($fecha_inicio).'/'.strtotime($fecha_tope));
										
									
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_BIEN
											)
						);
			}
			catch (Exception $ee)
			{
				
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);
			}
			
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
			
			
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
		
	}
	
	public function getEventosCumpleanos($username,$pass,$fecha_selecc_inic,$fecha_selecc_fin)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETEVENTOSCUMPLE';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_eventos= array();
		$arreglo_json = array();
		
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			
			
			$eventos = $this->getCumpleanos($username, $fecha_selecc_inic, $fecha_selecc_fin);
	
			
			if (count($eventos) == 0)
			{
				$user[$nombre_procedimiento] = array(
													
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($eventos as $evento) 
				{
					array_push($datos_eventos, array(
														"persona_id" => $evento['P']['id'],
														"ci_persona" => $evento['P']['ci_persona'],
														"nombre_persona_1" => $evento['P']['nombre_persona_1'],
														"nombre_persona_2" => $evento['P']['nombre_persona_2'],
														"apellido_persona_1" => $evento['P']['apellido_persona_1'],
														"apellido_persona_2" => $evento['P']['apellido_persona_2'],
														"nro_tlf_persona_1" => $evento['P']['nro_tlf_persona_1'],
														"nro_tlf_persona_2" => $evento['P']['nro_tlf_persona_2'],
														"url_foto_persona" => $evento['P']['url_foto_persona'],
														"fecha_nacimiento" => $evento['P']['fecha_nacimiento'],
														"email_persona" => $evento['P']['email_persona'],
														"sexo_persona" => $evento['P']['sexo_persona'],
														
														
														"departamento_id" => $evento['D']['id'],
														"nombre_departamento" => $evento['D']['nombre_departamento'],
														"cargo_departamento" => $evento['TCC']['nombre_tipo_cargo'],
														
														
														"sede_id" => $evento['S']['id'],
														"nombre_sede" => $evento['S']['nombre_sede'],
														
													)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_EVENTOS_CUMPLE' => $datos_eventos
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function getEventosSedes($username,$pass,$fecha_selecc_inic,$fecha_selecc_fin,$tipo_evento_id)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETEVENTOSSEDES';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_eventos= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			
			
			$eventos = $this->getEvento($username, $tipo_evento_id, $fecha_selecc_inic, $fecha_selecc_fin);
			
			
			if (count($eventos) == 0)
			{
				$user[$nombre_procedimiento] = array(
													
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($eventos as $evento) 
				{
					array_push($datos_eventos, array(
														"evento_id" => $evento['E']['id'],
														"nombre_evento" => 
																		$evento['E']['nombre_evento'],
														"descripcion_evento" => 
																		$evento['E']['descripcion_evento'],
														"fecha_inicio_evento" => 
																		$evento['ES']['fecha_inicio_evento'],
														"fecha_fin_evento" => 
																		$evento['ES']['fecha_fin_evento'],
														"hora_inic" => 
																		$evento['ES']['hora_inic'],
														"hora_fin" => 
																		$evento['ES']['hora_fin'],
														"tipo_evento_id" => 
																		$evento['TE']['id'],
														"nombre_tipo_evento" => 
																		$evento['TE']['nombre_tipo_evento'],
														"descripcion_tipo_evento" => 
																		$evento['TE']['descripcion_tipo_evento'],
														"sede_id" => 
																		$evento['S']['id'],
														"nombre_sede" => 
																		$evento['S']['nombre_sede'],
														
													)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_EVENTOS_SEDES' => $datos_eventos
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		return json_encode($user);
		//$this->set('json',json_encode($user));
		
	}
	
	public function getTipoEvento($username,$pass)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETTIPOEVENTOS';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_tipo_eventos= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			$tipo_eventos = $this->User->query(
											'SELECT TE.*
												FROM tipo_eventos TE'		
											);
			
			if (count($tipo_eventos) == 0)
			{
				$user[$nombre_procedimiento] = array(
													
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($tipo_eventos as $tipo_evento) 
				{
					array_push($datos_tipo_eventos, array(
														"tipo_evento_id" => $tipo_evento['TE']['id'],
														"nombre_tipo_evento" => 
																		$tipo_evento['TE']['nombre_tipo_evento'],
														"descripcion_tipo_evento" => 
																		$tipo_evento['TE']['descripcion_tipo_evento']
													)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_TIPO_EVENTOS' => $datos_tipo_eventos
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function getTipoMenu($username, $pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETTIPOMENU';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_tipo_menu = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$tipo_menus = $this->User-> query(	
												'SELECT TM.*
													FROM tipo_menus TM'
											);
			if (count($tipo_menus) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($tipo_menus as $tipo_menu ) 
				{
					array_push($datos_tipo_menu, array(
															"tipo_menu_id" => $tipo_menu['TM']['id'],
															"nombre_tipo_menu" => $tipo_menu['TM']['nombre_tipo_menu'],
															"descripcion_tipo_menu" => $tipo_menu['TM']['descripcion_tipo_menu'],
															
														)
								  );
	
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_TIPO_MENU' => $datos_tipo_menu
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
		
		
	} 
	
	public function getTipoArticulo($username, $pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETTIPOARTICULO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_tipo_articulo = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$tipo_articulos = $this->User-> query(	
													'SELECT TA.*
														FROM tipo_articulos TA'
												);
			if (count($tipo_articulos) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array(
																			"DATOS_TIPO_ARTICULO" => array("")
																		)
													 ); 
			}
			else 
			{
				foreach ($tipo_articulos as $tipo_articulo ) 
				{
					array_push($datos_tipo_articulo, array(
															"tipo_articulo_id" => $tipo_articulo['TA']['id'],
															"nombre_tipo_articulo" => $tipo_articulo['TA']['nombre_tipo_articulo'],
															"descripcion_tipo_articulo" => $tipo_articulo['TA']['descripcion_tipo_articulo'],
															
														)
								  );
	
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_TIPO_ARTICULO' => $datos_tipo_articulo
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
		
		
	} 

	public function getEstablecimientosOcio($username,$pass)
	{
			
		$this->layout = null;
		$nombre_procedimiento = 'GETESTABLECIMIENTOSOCIO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_ocio= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			$ocios = $this->User->query(
											'SELECT O.*, S.*
												FROM users U, departamento_personas DP, 
												sedes S, ocios O
												WHERE U.username = "'.$username.'" AND
												U.persona_id = DP.persona_id AND
												DP.fecha_fin_persona_departamento is NULL AND
												DP.sede_id = S.id AND
												O.sede_id = S.id'		
											);
			
			if (count($ocios)== 0)
			{
				$user[$nombre_procedimiento] = array(
													
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($ocios as $ocio) 
				{
					array_push($datos_ocio, array(
					
														"ocio_id" => $ocio['O']['id'],
														"rif_ocio" => $ocio['O']['rif_ocio'],
														"nombre_ocio" => $ocio['O']['nombre_establecimiento_ocio'],
														"descripcion_ocio" => $ocio['O']['descripcion_ocio'],
														"horario_inic" => $ocio['O']['horario_inic'],
														"horario_fin" => $ocio['O']['horario_fin'],
														"fecha_inic" => $ocio['O']['fecha_inic'],
														"fecha_fin" => $ocio['O']['fecha_fin'],
														"status_ocio" => $ocio['O']['status_ocio'],
														"nro_tlf_ocio_1" => $ocio['O']['nro_tlf_ocio_1'],
														"nro_tlf_ocio_2" => $ocio['O']['nro_tlf_ocio_2'],
														"email_ocio" => $ocio['O']['email_ocio'],
														
														"sede_id" => $ocio['S']['id'],
														"rif_sede" => $ocio['S']['rif_sede'],
														"codigo_sede" => $ocio['S']['codigo_sede'],
														"nombre_sede" => $ocio['S']['nombre_sede'],
														"nro_tlf_sede_1" => $ocio['S']['nro_tlf_sede_1'],
														"nro_tlf_sede_2" => $ocio['S']['nro_tlf_sede_2']
														
													)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_OCIO' => $datos_ocio
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		return json_encode($user);
		//$this->set('json',json_encode($user));	
		
	}

	public function getReservaciones($username,$pass,$fecha_inic, $fecha_fin)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETRESERVACIONES';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_reservaciones= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			
			$reservaciones = $this->User->query( 'SELECT R . * , O . * , TR . * 
														FROM reservaciones R, users U, ocios O, tipo_status TR
														WHERE R.persona_id = U.persona_id
														AND R.tipo_reservaciones_id = TR.id
														AND R.ocio_id = O.id
														AND (R.fecha_create_reservacion
														BETWEEN  "'.$fecha_inic.'"
														AND  "'.$fecha_fin.'")
														AND U.username =  "'.$username.'"' );
			
			if (count($reservaciones)== 0)
			{
				$user[$nombre_procedimiento] = array(
													
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($reservaciones as $reservacion) 
				{
					array_push($datos_reservaciones, array(
					
														"reservaciones_id" => $reservacion['R']['id'],
														"numero_reservaciones" => $reservacion['R']['numero_reservacion'],
														"fecha_selec_reservacion" => $reservacion['R']['fecha_selec_reservacion'],
														"fecha_create_reservacion" => $reservacion['R']['fecha_create_reservacion'],
														"hora_inic_reservaciones" => $reservacion['R']['hora_inic_reservaciones'],
														"hora_fin_reservaciones" => $reservacion['R']['hora_fin_reservaciones'],
														"descripcion_reservaciones" => $reservacion['R']['descripcion_reservaciones'],
														
														"ocio_id" => $reservacion['O']['id'],
														"rif_ocio" => $reservacion['O']['rif_ocio'],
														"nombre_ocio" => $reservacion['O']['nombre_establecimiento_ocio'],
														"descripcion_ocio" => $reservacion['O']['descripcion_ocio'],
														"horario_inic" => $reservacion['O']['horario_inic'],
														"horario_fin" => $reservacion['O']['horario_fin'],
														"fecha_inic" => $reservacion['O']['fecha_inic'],
														"fecha_fin" => $reservacion['O']['fecha_fin'],
														"status_ocio" => $reservacion['O']['status_ocio'],
														"nro_tlf_ocio_1" => $reservacion['O']['nro_tlf_ocio_1'],
														"nro_tlf_ocio_2" => $reservacion['O']['nro_tlf_ocio_2'],
														"email_ocio" => $reservacion['O']['email_ocio'],
														
														"tipo_reservaciones_id" => $reservacion['TR']['id'],
														"nombre_tipo_reservaciones" => $reservacion['TR']['nombre_tipo_status'],
														"descripcion_tipo_reservaciones" => $reservacion['TR']['descripcion_tipo_status']
														
														
													)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_RESERVACION' => $datos_reservaciones
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function setReservaciones($username, $pass, $id_ocio, $fecha_reservaciones, 
										$hora_inic_reservaciones, $descripcion_reservaciones)
	{
			
		$this->layout = null;
		$nombre_procedimiento = 'SETRESERVACIONES';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_articulo = array();
		$arreglo_json = array();
		
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
			
			$tipo_reservaciones_id = 2; // reservacion por confirmar
			$datos = array();
			if ($this->insertReservacion($id_ocio, 
											$tipo_reservaciones_id, 
											$usuario[0]['U']['persona_id'], 
											$fecha_reservaciones, 
											$hora_inic_reservaciones,
											$descripcion_reservaciones))
			{
					
				$ocios = $this->getOcio($id_ocio);

				$this->requestAction('/api/sendEmailInfoReservacion/'.$usuario[0]['U']['username'].'/'.$this->Reservacione->id.'/');
				
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_BIEN
											)
						);
				
			}
			else 
			{
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_ERROR
												)
							);
			}
			
			array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
			$user[$nombre_procedimiento] = $arreglo_json;		

		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
		
		
		
	}
	
	public function getHospitales($username,$pass,$id_seguro)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETHOSPITAL';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_hospital = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$hospitales = $this->getHospital($id_seguro);
			
			if (count($hospitales) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($hospitales as $hospital ) 
				{
					array_push($datos_hospital, array(
															"hospital_id" => $hospital['H']['id'],
															"nombre_hospital" => $hospital['H']['nombre_hospital'],
															"rif_hospital" => $hospital['H']['rif_hospital'],
															"nro_tlf_hospital_1" => $hospital['H']['nro_tlf_hospital_1'],
															"nro_tlf_hospital_2" => $hospital['H']['nro_tlf_hospital_2'],
															"nombre_persona_contacto_hospital" => $hospital['H']['nombre_persona_contacto_hospital'],
															"nombre_direccion" => $this->getDireccion($hospital['H']['direccion_id'])
														)
								  );
	
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_HOSPITAL' => $datos_hospital
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	}
	
	public function getTipoReciboPagos($username,$pass)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETTIPORECIBOS';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_tipo_recibo= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			$tipo_recibos = $this->User->query(
											'SELECT TR.*
												FROM tipo_recibos TR'		
											);
			
			if (count($tipo_recibos) == 0)
			{
				$user[$nombre_procedimiento] = array(
													
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($tipo_recibos as $tipo_recibo) 
				{
					array_push($datos_tipo_recibo, array(
															"tipo_recibo_id" => $tipo_recibo['TR']['id'],
															"nombre_tipo_recibo" => $tipo_recibo['TR']['nombre_tipo_recibo']
														)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_TIPO_RECIBO' => $datos_tipo_recibo
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		return json_encode($user);
	}
	
	public function getReciboPagos($username,$pass,$fecha_inic,$fecha_fin,$id_tipo_recibo)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETRECIBOPAGO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_recibo = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
		
		
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$recibo_pagos = $this->getRecibo($username,$id_tipo_recibo,$fecha_inic,$fecha_fin);
			
			if (count($recibo_pagos) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($recibo_pagos as $recibo_pago ) 
				{
					array_push($datos_recibo, array(
															"recibo_id" => $recibo_pago['RP']['id'],
															"recibo_numero" => $recibo_pago['RP']['numero_recibo'],
															"recibo_monto" => $recibo_pago['RP']['monto_recibo_pago'],
															"recibo_fecha_emision" => $recibo_pago['RP']['fecha_emitido_pago'],
															"tipo_recibo_id" => $recibo_pago['TR']['id'],
															"nombre_tipo_recibo" => $recibo_pago['TR']['nombre_tipo_recibo']
														)
								  );
	
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_RECIBO' => $datos_recibo
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	}
	
	public function getPlanillaRecibo($username,$pass,$id_recibo,$numero_recibo)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETPLANILLARECIBO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_recibo = array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
			
			$datos = array();
			try 
			{
				$this->requestAction('/api/sendEmailPlanillaRecibo/'.$id_recibo.
										'/'.$numero_recibo.'/'.$usuario[0]['U']['username']);
										
									
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_BIEN
											)
						);
			}
			catch (Exception $ee)
			{
				
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);
			}
			catch (Exception $ee)
			{
				
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);
			}
			
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
			
			
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function getAdiestramientoUsuario($username,$pass)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETADIESTRAMIENTO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_adiestramientos = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$adiestramientos = $this->getAdiestramiento($username);
			
			if (count($adiestramientos) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($adiestramientos as $adiestramiento) 
				{
					array_push($datos_adiestramientos, array(
					
														"adiestramiento_id" => $adiestramiento['A']['id'],
														"nombre_adiestramiento" => $adiestramiento['A']['nombre_diestramiento'],
														"ano_adiestramiento" => $adiestramiento['A']['ano_adiestramiento'],
														
														"tipo_adiestramiento_id" => $adiestramiento['TA']['id'],
														"nombre_tipo_adiestramiento" => $adiestramiento['TA']['nombre_tipo_adiestramiento'],
														"descripcion_tipo_adiestramiento" => $adiestramiento['TA']['descripcion_tipo_adiestramiento'],
														
													)
							  );
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_ADIESTRAMIENTO' => $datos_adiestramientos
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	}

	public function getSeguroUsuario($username,$pass)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETSEGURO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_seguro = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$seguros = $this->getSeguro($username);
			
			if (count($seguros) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($seguros as $seguro) 
				{
					array_push($datos_seguro, array(
					
														"seguro_id" => $seguro['S']['id'],
														"nombre_seguro" => $seguro['S']['nombre_seguro'],
														"rif_seguro" => $seguro['S']['rif_seguro'],
														"nro_tlf_seguro_1" => $seguro['S']['nro_tlf_seguro_1'],
														"nro_tlf_seguro_2" => $seguro['S']['nro_tlf_seguro_2'],
														
														"poliza_id" => $seguro['P']['id'],
														"numero_poliza" => $seguro['P']['numero_poliza'],
														"cant_asegurada" => $seguro['P']['cant_asegurada'],
														"prima_seguro" => $seguro['P']['prima_seguro'],
														"fecha_inic_poliza" => $seguro['P']['fecha_inic_poliza'],
														"fecha_fin_poliza" => $seguro['P']['fecha_fin_poliza'],
														
														"nombre_corredor" => $seguro['S']['nombre_corredor'],
														"apellido_corredor" => $seguro['S']['apellido_corredor'],
														"nro_tlf_corredor_1" => $seguro['S']['nro_tlf_corredor_1'],
														"nro_tlf_corredor_2" => $seguro['S']['nro_tlf_corredor_2'],
														"email_corredor" => $seguro['S']['email_corredor'],
														
														
														
													)
							  );
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_SEGURO' => $datos_seguro
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	}
	
	public function getFamiliarUsuario($username,$pass)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETFAMILIAR';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_familiares = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$familiares = $this->getFamiliar($username);
			
			if (count($familiares) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($familiares as $familiar ) 
				{
					array_push($datos_familiares, array(
															"familiar_id" => $familiar['F']['id'],
															"ci_familiar" => $familiar['F']['ci_familiar'],
															"nombre_familiar_1" => $familiar['F']['nombre_familiar_1'],
															"nombre_familiar_2" => $familiar['F']['nombre_familiar_2'],
															"apellido_familiar_1" => $familiar['F']['apellido_familiar_1'],
															"apellido_familiar_2" => $familiar['F']['apellido_familiar_2'],
															"fecha_nacimiento" => $familiar['F']['fecha_nac_familiar'],
															"foto_familiar" => $familiar['F']['foto_familiar'],
															"sexo_familiar" => $familiar['F']['sexo_familiar'],
															
															"asegurado" => ($familiar['FP']['poliza_id'] == NULL ? FALSE : TRUE ),
															
															"parentesco_id" => $familiar['P']['id'],
															"nombre_parentesco" => $familiar['P']['nombre_parentesco'],
															"descripcion_parentesco" => $familiar['P']['descripcion_parentesco'],
															
	
														)
								  );
	
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_FAMILIAR' => $datos_familiares
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	}
	
	public function getEstudioUsuario($username,$pass)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETESTUDIO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_estudios = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$estudios = $this->getEstudio($username);
			
			if (count($estudios) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($estudios as $estudio) 
				{
					array_push($datos_estudios, array(
					
														"estudio_id" => $estudio['E']['id'],
														"nombre_estudio" => $estudio['E']['nombre_estudio'],
														"decripcion_estudio" => $estudio['E']['descripcion_estudio'],
														
														"universidad_id" => $estudio['UD']['id'],
														"nombre_universidad" => $estudio['UD']['nombre_universidad'],
														"acronimo_universidad" => $estudio['UD']['acronimo_universidad'],
														"descripcion_universidad" => $estudio['UD']['descripcion_universidad'],
														
														"tipo_estudio_id" => $estudio['TE']['id'],
														"nombre_tipo_estudio" => $estudio['TE']['nombre_tipo_estudio'],
														"descripcion_tipo_estudio" => $estudio['TE']['descripcion_tipo_estudio'],
														
														"fecha_inic_estudio" => $estudio['EU']['fecha_inic_estudios'],
														"fecha_fin_estudio" => $estudio['EU']['fecha_fin_estudios'],
														
														
													)
							  );
				}
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_ESTUDIO' => $datos_estudios
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	}
	
	public function getContactos($username, $pass, $fecha_selec)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETCONTACTOS';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$user[$nombre_procedimiento] = array();
		$datos_contacto = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
		
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
										'STATUS' => $CODIGO_ERROR_PARAM,
										'DATA' => array("")
									 ); 
		}
		else 
		{
				
			$contactos = $this->getListaContactos($username,$fecha_selec);
			
			if (count($contactos) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				
				foreach ($contactos as $contacto) 
				{
						
					array_push($datos_contacto, array(
					
														"persona_id" => $contacto['P']['id'],
														"ci_persona" => $contacto['P']['ci_persona'],
														"nombre_persona_1" => $contacto['P']['nombre_persona_1'],
														"nombre_persona_2" => $contacto['P']['nombre_persona_2'],
														"apellido_persona_1" => $contacto['P']['apellido_persona_1'],
														"apellido_persona_2" => $contacto['P']['apellido_persona_2'],
														"nro_tlf_persona_1" => $contacto['P']['nro_tlf_persona_1'],
														"nro_tlf_persona_2" => $contacto['P']['nro_tlf_persona_2'],
														"url_foto_persona" => $contacto['P']['url_foto_persona'],
														"fecha_nacimiento" => $contacto['P']['fecha_nacimiento'],
														"email_persona" => $contacto['P']['email_persona'],
														"sexo_persona" => $contacto['P']['sexo_persona'],
														
														
														"departamento_id" => $contacto['D']['id'],
														"nombre_departamento" => $contacto['D']['nombre_departamento'],
														"descripcion_departamento" => $contacto['D']['descripcion_departamento'],
														"fecha_inic_departamento" => $contacto['DP_2']['fecha_inic_persona_departamento'],
														"fecha_fin_departamento" => $contacto['DP_2']['fecha_fin_persona_departamento'],
														"direccion_departamento" => $contacto['DPS']['direccion_departamento_sede'],
														"cargo_departamento" => $contacto['TCC']['nombre_tipo_cargo'],
														
														
														"sede_id" => $contacto['S']['id'],
														"nombre_sede" => $contacto['S']['nombre_sede'],
														
														
														"superior_id" => $contacto['SUP']['id'], 
														"cedula_superior" => $contacto['SUP']['ci_persona'],
														"nombre_superior_1" => $contacto['SUP']['nombre_persona_1'],
														"nombre_superior_2" => $contacto['SUP']['nombre_persona_2'],
														"apellido_superior_1" => $contacto['SUP']['apellido_persona_1'],
														"apellido_superior_2" => $contacto['SUP']['apellido_persona_2'],
														"email_superior" => $contacto['SUP']['email_persona'],
														"telefono_superior_1" => $contacto['SUP']['nro_tlf_persona_1'],
														"telefono_superior_2" => $contacto['SUP']['nro_tlf_persona_2']
														
													)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_CONTACTO' => $datos_contacto,
													
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;	
			}
			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	}
	
	public function getPlanillaCartaAval($username,$pass,$id_poliza,$id_familiar,$id_hospital,$nombre_operation,$monto)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETPLANILLACARTAAVAL';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_recibo = array();
		$arreglo_json = array();
			
		$usuario = $this->getUsuario($username, $pass);
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
			
			$datos = array();
			try 
			
			{
				$this->requestAction('api/sendEmailCartaAval/'.$usuario[0]['U']['username'].
										'/'.$id_poliza.'/'.$id_familiar.'/'.$id_hospital.'/'.
										$nombre_operation.'/'.$monto);
										
									
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_BIEN
											)
						);
			}
			catch (Exception $ee)
			{
				
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);
			}
			
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
			
			
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function getSolicitudCartaTrabajo($username,$pass)
	{
		
		$this->layout = null;
		$nombre_procedimiento = 'GETSOLCARTATRABAJO';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		
		$arreglo_json = array();
			
		$usuario = $this->getUsuario($username, $pass);
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
			
			$datos = array();
			try 
			
			{
				$this->requestAction('api/sendEmailCartaTrabajo/'.$usuario[0]['U']['username']);
										
									
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_BIEN
											)
						);
			}
			catch (Exception $ee)
			{
				
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);
			}
			
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
			
			
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function getHospitalesFamiliar($username,$pass,$id_seguro)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETHOSPITALFAMILIAR';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		$CODIGO_VACIO_HOSPITAL = "310";
		$CODIGO_VACIO_FAMILIAR = "320";
		$user[$nombre_procedimiento] = array();
		$datos_familiares = array();
		$datos_hospital = array();
		$arreglo_json = array();
		$usuario = $this->getUsuario($username, $pass);
					
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
				
			$hospitales = $this->getHospital($id_seguro);
			
			if (count($hospitales) == 0)
			{
				$user[$nombre_procedimiento] = array(
														'STATUS' => $CODIGO_VACIO_HOSPITAL,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($hospitales as $hospital ) 
				{
					array_push($datos_hospital, array(
															"hospital_id" => $hospital['H']['id'],
															"nombre_hospital" => $hospital['H']['nombre_hospital'],
															"rif_hospital" => $hospital['H']['rif_hospital'],
															"nro_tlf_hospital_1" => $hospital['H']['nro_tlf_hospital_1'],
															"nro_tlf_hospital_2" => $hospital['H']['nro_tlf_hospital_2'],
															"nombre_persona_contacto_hospital" => $hospital['H']['nombre_persona_contacto_hospital'],
															"nombre_direccion" => $this->getDireccion($hospital['H']['direccion_id'])
														)
								  );
	
				}

				$familiares = $this->getFamiliar($username);
				//
				
				if (count($familiares) == 0)
				{
					$user[$nombre_procedimiento] = array(
															'STATUS' => $CODIGO_VACIO_FAMILIAR,
															'DATA' => array("")
														 ); 
				}
				else 
				{
					foreach ($familiares as $familiar ) 
					{
						array_push($datos_familiares, array(
																"familiar_id" => $familiar['F']['id'],
																"ci_familiar" => $familiar['F']['ci_familiar'],
																"nombre_familiar_1" => $familiar['F']['nombre_familiar_1'],
																"nombre_familiar_2" => $familiar['F']['nombre_familiar_2'],
																"apellido_familiar_1" => $familiar['F']['apellido_familiar_1'],
																"apellido_familiar_2" => $familiar['F']['apellido_familiar_2'],
																"fecha_nacimiento" => $familiar['F']['fecha_nac_familiar'],
																"foto_familiar" => $familiar['F']['foto_familiar'],
																"sexo_familiar" => $familiar['F']['sexo_familiar'],
																
																"asegurado" => ($familiar['FP']['poliza_id'] == NULL ? FALSE : TRUE ),
																
																"parentesco_id" => $familiar['P']['id'],
																"nombre_parentesco" => $familiar['P']['nombre_parentesco'],
																"descripcion_parentesco" => $familiar['P']['descripcion_parentesco'],
																
		
															)
									  );
		
					}
					$datos = array();
					array_push(
									$datos, array(
														'DATOS_FAMILIAR' => $datos_familiares,
														'DATOS_HOSPITAL' => $datos_hospital
													)
								);
					array_push(
									$arreglo_json, array(
															'STATUS' => $CODIGO_BIEN,
															'DATA' => $datos,
														)
								);
					$user[$nombre_procedimiento] = $arreglo_json;	
				}
				
				
				
				///
			}


			
			
		}
		return json_encode($user);
		
		//$this->set('json',json_encode($user));
	
	}
		
	public function getSolicitudCompras($username,$pass,$fecha_selecc_inic,$fecha_selecc_fin)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETSOLICITUDCOMPRA';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_solicitud= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
			
			$solicitud_compras = $this->User->query( 
														'SELECT * 
														FROM solicitud_compras SC, tipo_status TS, users U
														WHERE SC.persona_id = U.persona_id
														AND TS.id = SC.tipo_status_id
														AND (SC.fecha_solicitud_compra
														BETWEEN  "'.$fecha_selecc_inic.'"
														AND  "'.$fecha_selecc_fin.'")
														AND U.username =  "'.$username.'"' );
			
			if (count($solicitud_compras)== 0)
			{
				$user[$nombre_procedimiento] = array(
													
														'STATUS' => $CODIGO_VACIO,
														'DATA' => array("")
													 ); 
			}
			else 
			{
				foreach ($solicitud_compras as $solicitud_compra) 
				{
					array_push($datos_solicitud, array(
					
														"solicitud_compra_id" => $solicitud_compra['SC']['id'],
														"fecha_solicitud_compra" => $solicitud_compra['SC']['fecha_solicitud_compra'],
														"total_solicitud_compra" => $solicitud_compra['SC']['total_solicitud_compra'],
														"descripcion_solicitud_compra" => $solicitud_compra['SC']['descripcion_solicitud'],
														
														"tipo_status_id" => $solicitud_compra['TS']['id'],
														"nombre_tipo_status" => $solicitud_compra['TS']['nombre_tipo_status'],
														
														"DATOS_ARTICULO" => $this->getArticulosFromSolicitud($solicitud_compra['SC']['id'])
														
													)
							  );
				}
				
				$datos = array();
				array_push(
								$datos, array(
													'DATOS_SOL_COMPRA' => $datos_solicitud
												)
							);
				array_push(
								$arreglo_json, array(
														'STATUS' => $CODIGO_BIEN,
														'DATA' => $datos,
													)
							);
				$user[$nombre_procedimiento] = $arreglo_json;
				
			}
			
			
			
		}
		
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	
	public function cancelSolicitudCompra($username,$pass,$id_solicitud,$motivo)
	{
		$this->layout = null;
		$nombre_procedimiento = 'CANCELSOLICITUDCOMPRA';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_solicitud= array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
				
			$datos = array();
			if ($this->updateCancelSolicitudCompra($id_solicitud,$motivo))
			{
				
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_BIEN
												)
							);
			}
			else 
			{
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_ERROR
												)
							);				
			}
			
				
				
				
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
				
			
			
			
			
		}
		
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}

	public function lostPassword($username,$email)
	{
		$this->layout = null;
		$nombre_procedimiento = 'RESETPASSWORD';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_solicitud= array();
		$arreglo_json = array();
			
		
				
			$datos = array();
			if ($this->resetearPassword($username,$email))
			{
				$this->requestAction('/api/sendEmailLostPassword/'.$username);
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_BIEN
												)
							);
			}
			else 
			{
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_ERROR
												)
							);				
			}
			
				
				
				
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;

		
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}

	public function lostUsername($email)
	{
		$this->layout = null;
		$nombre_procedimiento = 'RESETUSERNAME';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_solicitud= array();
		$arreglo_json = array();
			
		$usuario = $this->User->query(
										"SELECT * 
										FROM users U, personas P
										WHERE U.persona_id = P.id
										AND P.email_persona = '".$email."'"
									 );
		$datos = array();
		if (count($usuario)>0)
		{
				$this->requestAction('/api/sendEmailLostUsername/'.$usuario[0]['U']['username']);
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_BIEN
												)
							);
		}
		else 
		{
			array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);				
		}
		array_push(
						$arreglo_json, array(
												'STATUS' => $CODIGO_BIEN,
												'DATA' => $datos,
											)
					);
		$user[$nombre_procedimiento] = $arreglo_json;

		
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}

	public function setCambioInfoUser($username,$pass,$detalle_info)
	{
		$this->layout = null;
		$nombre_procedimiento = 'CHANGEINFOUSER';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_solicitud= array();
		$arreglo_json = array();
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else
		{
				
			$datos = array();
			if ($this->updateSolicitudAdmin($usuario,$detalle_info))
			{
				
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_BIEN
												)
							);
			}
			else 
			{
				array_push(
								$datos, array(
													'STATUS_SOLICITUD' => $CODIGO_ERROR
												)
							);				
			}
			
				
				
				
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
				
			
			
			
			
		}
		
		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	public function getBeneficioAcumulado($username,$pass,$id_beneficio)
	{
		$this->layout = null;
		$nombre_procedimiento = 'GETBENEFICIOACUM';
		$CODIGO_BIEN = "100";
		$CODIGO_ERROR_PARAM = "150";
		$CODIGO_ACCESO_DENEGADO = "200";
		$CODIGO_VACIO = "300";
		$CODIGO_ERROR = "400";
		
		$CODIGO_COMPLETO = $CODIGO_BIEN;
		$CODIGO_INCOMPLETO = $CODIGO_ACCESO_DENEGADO;
		$CODIGO_INCOMPLETO = $CODIGO_VACIO;
		
		$user[$nombre_procedimiento] = array();
		$datos_articulo = array();
		$arreglo_json = array();
			
			
		$usuario = $this->getUsuario($username, $pass);
		
		if (count($usuario) == 0)
		{
			$user[$nombre_procedimiento] = array(
													'STATUS' => $CODIGO_ERROR_PARAM,
													'DATA' => array("")
												 ); 
		}
		else 
		{
			
			$datos = array();
			try 
			{
					
				$this->requestAction('/api/sendEmailAcumBeneficio/'.$usuario[0]['U']['username'].'/'.$id_beneficio);
										
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_BIEN
											)
						);
			}
			catch (Exception $ee)
			{
				array_push(
							$datos, array(
												'STATUS_SOLICITUD' => $CODIGO_ERROR
											)
						);
			}
			
			array_push(
							$arreglo_json, array(
													'STATUS' => $CODIGO_BIEN,
													'DATA' => $datos,
												)
						);
			$user[$nombre_procedimiento] = $arreglo_json;
		}

		return json_encode($user);
		//$this->set('json',json_encode($user));
	}
	//--------------------------------------------------------------------------
	//-----------------PROCEDIMIENTOS EXTERNOS----------------------------------
	//--------------------------------------------------------------------------
	
	public function resetearUsername($username, $email)
	{
		//$this->loadModel('User');		
		$usuario = $this->User->query(
										'SELECT *
										FROM users U, personas P
										WHERE U.persona_id = P.id
										AND U.active_user = 1
										AND P.email_persona = "'.$email.'"
										AND U.username = "'.$username.'"'
									);
						
		if (count($usuario)>0)
		{
			$password_defaul = 123456789;
			$array_user = array('User' => array(
														'id' => $usuario[0]['U']['id'],
														'password' => $password_defaul
													));
			//$this->loadModel('User');
			return ($this->User->save($array_user));
		}
		else 
		{
			return false;	
		}
	}
	
	public function resetearPassword($username, $email)
	{
		//$this->loadModel('User');		
		$usuario = $this->User->query(
										'SELECT *
										FROM users U, personas P
										WHERE U.persona_id = P.id
										AND U.active_user = 1
										AND P.email_persona = "'.$email.'"
										AND U.username = "'.$username.'"'
									);
						
		if (count($usuario)>0)
		{
			$password_defaul = 123456789;
			$array_user = array('User' => array(
														'id' => $usuario[0]['U']['id'],
														'password' => $password_defaul
													));
			return ($this->User->save($array_user));
		}
		else 
		{
			return false;	
		}
	}
	
	public function getModulo($username)
	{


		
		$modulo = $this->Persona->query(
												'SELECT *
													FROM 
													configuracion_sistemas CSI,
													configuracion_modulos CM,
													departamento_personas DP,
													modulo_sistemas M,
													personas P,
													sedes S,
													users U
													WHERE U.persona_id = P.id 
													AND DP.persona_id = P.id
													AND DP.sede_id = S.id
													AND S.configuracion_sistema_id = CSI.id
													AND CM.configuracion_sistema_id = CSI.id
													AND CM.modulo_sistema_id = M.id
													AND U.username ="'.$username.'" 
													AND DP.fecha_fin_persona_departamento IS NULL'
											); 
		return $modulo;

	}
	
	public function getCumpleanos($username,$fecha_selecc_inic,$fecha_selecc_fin)
	{
			

		$eventos = $this->User->query(
											'SELECT P.*, S.*,D.*,TCC.*, S.*
												FROM users U, departamento_personas DP, 
												departamentos D, sedes S, personas P, 
												tipo_cargos TCC
												WHERE P.id = DP.persona_id 
												AND DP.fecha_fin_persona_departamento IS NULL 
												AND D.id = DP.departamento_id 
												AND TCC.id = DP.tipo_cargo_id 
												AND DP.sede_id = S.id 
												AND U.persona_id != DP.persona_id
												AND U.username =  "'.$username.'"
												AND DATE_FORMAT( fecha_nacimiento,  "%m-%d" ) 
												BETWEEN DATE_FORMAT(  "'.$fecha_selecc_inic.'",  "%m-%d" ) 
												AND DATE_FORMAT(  "'.$fecha_selecc_fin.'",  "%m-%d" ) 
												ORDER BY fecha_nacimiento ASC'		
											);
		return $eventos;

	}
	
	public function getEvento($username,$tipo_evento_id,$fecha_selecc_inic,$fecha_selecc_fin)
	{
			

		$eventos = $this->User->query(
											'SELECT E . * , ES . *, TE.*, S . *
												FROM users U, departamento_personas DP, 
												eventos_sedes ES, eventos E, 
												tipo_eventos TE, sedes S
												WHERE U.persona_id = DP.persona_id
												AND DP.sede_id = ES.sede_id
												AND S.id = ES.sede_id
												AND E.id = ES.evento_id
												AND E.tipo_evento_id = TE.id
												AND TE.id = '.$tipo_evento_id.'
												AND U.username =  "'.$username.'"
												AND ((ES.fecha_inicio_evento
												BETWEEN  "'.$fecha_selecc_inic.'"
												AND  "'.$fecha_selecc_fin.'")
												OR (ES.fecha_fin_evento
												BETWEEN  "'.$fecha_selecc_inic.'"
												AND  "'.$fecha_selecc_fin.'")) 
												ORDER BY fecha_inicio_evento ASC'		
											);
		return $eventos;

	}
	
	public function getHospital($id_seguro)
	{
		$hospitales = $this->User-> query(	
													'SELECT H.*, D.*
														FROM hospitals H, 
														hospital_seguros HS,
														direccions D
														WHERE H.id = HS.hospital_id	
														AND H.direccion_id = D.id 
														AND HS.seguro_id = '.$id_seguro
										);
		return $hospitales;
	}
	
	public function getFamiliar($username)
	{
		$familiar = $this->User-> query(
											'SELECT F.*, P.*, FP.*
												FROM users U, familiares F, familiar_personas FP,
												parentescos P
												WHERE U.username = "'.$username.'" AND
												U.persona_id = FP.persona_id AND
												F.id = FP.familiares_id AND
												FP.parentesco_id = P.id'
								
							);
		return $familiar;
	}
	
	public function getEstudio($username)
	{
		$estudio = $this->User-> query(
											'SELECT E . * , UD . * , TE . *, EU.*
												FROM estudios E, universidads UD, estudio_universidads EU, users U, tipo_estudios TE
												WHERE U.persona_id = EU.persona_id
												AND UD.id = EU.universidad_id
												AND E.id = EU.estudio_id
												AND TE.id = E.tipo_estudio_id
												AND U.username =  "'.$username.'"'
										);
		return $estudio;
	
	}
	
	public function getSeguro($username)
	{
		$seguro = $this->User-> query(
											'SELECT S.*, P.*
												FROM users U, departamento_personas DP, 
												sede_seguros SS, seguros S, 
												polizas P
												WHERE DP.persona_id = U.persona_id
												AND DP.fecha_fin_persona_departamento IS NULL
												AND DP.sede_id = SS.sede_id
												AND SS.fecha_fin_sede_seguro IS NULL 
												AND SS.active_sede_seguro = TRUE 
												AND SS.seguro_id = S.id 
												AND P.seguro_id = S.id
												AND P.persona_id = U.persona_id
												AND U.username =  "'.$username.'"'
										);
		return $seguro;
	}
	
	public function getOcio($id_ocio)
	{
		$ocio = $this->User-> query(
											'SELECT O.id
												FROM ocios O
												WHERE O.id = '.$id_ocio
										);
		return $ocio;
	}
	public function getRecibo($username,$id_tipo_recibo,$fecha_inic,$fecha_fin)
	{
			
		/*$str_query = 'SELECT RP . * , TR . * 
								FROM recibo_pagos RP, tipo_recibos TR, users U
								WHERE U.persona_id = RP.persona_id
								AND RP.tipo_recibo_id = TR.id
								AND U.username =  "'.$username.'"
								AND TR.id = '.$id_tipo_recibo.'
								AND AND (RP.fecha_emitido_pago
								BETWEEN  "'.$fecha_inic.'"
								AND  "'.$fecha_fin.'")
								ORDER BY RP.fecha_emitido_pago DESC';*/
		$str_query = 'SELECT RP . * , TR . * 
								FROM recibo_pagos RP, tipo_recibos TR, users U
								WHERE U.persona_id = RP.persona_id
								AND RP.tipo_recibo_id = TR.id
								AND U.username =  "'.$username.'" ';

		
		if ($id_tipo_recibo != 0)
		{
			$str_query = $str_query. 'AND TR.id = '.$id_tipo_recibo;
		}
		
		$str_query = $str_query. ' AND (RP.fecha_emitido_pago BETWEEN "'.$fecha_inic.'"
									AND  "'.$fecha_fin.'")
									ORDER BY RP.fecha_emitido_pago DESC';
									
		$recibo_pagos = $this->User->query( $str_query );
		
		return $recibo_pagos;
	}
	public function getAdiestramiento($username)
	{
		$adiestramiento = $this->User-> query(
											'SELECT A. * , TA. * 
												FROM adiestramientos A, adiestramiento_personas AP, users U, tipo_adiestramientos TA
												WHERE U.persona_id = AP.persona_id
												AND A.id = AP.adiestramiento_id
												AND TA.id = A.tipo_adiestramiento_id
												AND U.username =  "'.$username.'"'
										);
		return $adiestramiento;
	}
	
	public function getSupervisor($persona_id)
	{
		$this->User->create();
		$usuario = $this->User-> query(
											'SELECT *
												FROM departamentos DP, departamento_personas DPP,
												personas SUP, departamento_sedes DPS
												WHERE DPP.persona_id = '.$persona_id.' AND
												DPP.departamento_id = DP.id AND
												DPS.departamento_id = DP.id AND
												DPS.persona_id = SUP.id'
											
										);
		return $usuario;
	}
	
	public function getUsuario($username, $pass)
	{
		$password = AuthComponent::password($pass);
		$this->User->create();
		$usuario = $this->User-> query(
											'SELECT *
												FROM users U, personas P, tipo_cuentas TC, direccions D,
												departamentos DP, departamento_personas DPP, tipo_nacionalidads TN,
												tipo_cargos TCC, sedes S, departamento_sedes DPS
												WHERE U.username = "'.$username.'" AND
												U.password = "'.$password.'" AND
												P.direccion_id = D.id AND
												U.persona_id = P.id AND
												U.tipo_cuenta_id = TC.id AND
												DPP.persona_id = P.id AND
												DPP.departamento_id = DP.id AND
												P.tipo_nacionalidad_id = TN.id AND
												DPP.tipo_cargo_id = TCC.id AND
												DPP.sede_id = S.id AND
												DPP.sede_id = S.id AND
												DPS.departamento_id = DP.id'
											
										);
		return $usuario;
	}
	
	public function getArticulo($id_articulo)
	{
		$articulo = $this->User->query(
										'SELECT *
										FROM articulos A, catalogos C
										WHERE C.articulo_id = A.id AND
										A.id = '.$id_articulo
										);
		return $articulo;
	}
	
	public function insertArticuloSolicitudCompra($solicitud_id,$cantidad,$articulo)
	{
		$data = array (
						'solicitud_compra_id' => $solicitud_id,
						'articulo_id' => $articulo[0]['A']['id'],
						'cantidad_solicitud_compra' => $cantidad,
						'precio_unitario_solicitud' => $articulo[0]['C']['precio_unitario_articulo']
					);
		//$this->loadModel('DetalleSolicitudCompra');
		$this->DetalleSolicitudCompra->create();
		if ($this->DetalleSolicitudCompra->save($data))
		{
			return true;
		}
		else 
		{
			return false;	
		}

	}
	
	public function calcular_total($lista_articulo,$cantidad)
	{
		$sum_costo = 0;
		for ($i=0; $i < count($lista_articulo) ; $i++) 
		{ 
			$articulo = $this->getArticulo($lista_articulo[$i]);
			$sum_costo = $sum_costo + 
								($articulo[0]['C']['precio_unitario_articulo'] * 
								$cantidad[$i]);
		}
		return $sum_costo;
	}
	
	public function insertSolicitudCompra($costo,$tienda_id,$persona_id)
	{
			
		$this->SolicitudCompra->create();
		$data = array(
						'tienda_id' => $tienda_id,
						'persona_id' => $persona_id,
						'fecha_solicitud_compra' => date("Y-m-d H:i:s"),
						'total_solicitud_compra' => $costo,
						'tipo_status_id' => 2 // Por Confirmacion
						);
								
		if ($this->SolicitudCompra->save($data))		
		{
			return true;
		}
		else 
		{
			return false;	
		}
	}
	
	public function updateCancelSolicitudCompra($id_sol_compra,$motivo)
	{
			
		$this->SolicitudCompra->create();
		$data = array(
						'id' => $id_sol_compra,
						'tipo_status_id' => 3, // Cancelado por Usuario
						'descripcion_solicitud' => $motivo
						);
								
		if ($this->SolicitudCompra->save($data))		
		{
			return true;
		}
		else 
		{
			return false;	
		}
	}
	
	public function updateSolicitudAdmin($usuario,$motivo)
	{
			
		$this->AdminSolicitude->create();
		$data = array(
							'AdminSolicitude' => array(
															'id' => $id_sol_compra,
															'tipo_solicitud_admin_id' => 1, // Cambio de Informacion del Usuario
															'persona_id' => $usuario[0]['U']['persona_id'],
															'fecha_solicitud' => date("Y-m-d H:i:s"),
															'descripcion_solicitud' => $motivo
														)
						);
								
		if ($this->AdminSolicitude->save($data))		
		{
			$this->requestAction('/api/sendEmailSolicitudAdmin/'.$usuario[0]['U']['username'].'/'.$this->AdminSolicitude->id);
			return true;
		}
		else 
		{
			return false;	
		}
	}

	public function insertReservacion($ocio_id,$tipo_reservaciones_id,$persona_id,
										$fecha_reservaciones,$hora_inic_reservaciones, 
										$descripcion_reservaciones)
	{
		$this->Reservacione->create();
		$data = array(
						'ocio_id' => $ocio_id,
						'tipo_reservaciones_id' => $tipo_reservaciones_id,
						'persona_id' => $persona_id,
						'fecha_selec_reservacion' => $fecha_reservaciones,
						'fecha_create_reservacion'=> date("Y-m-d H:i:s"),
						'hora_inic_reservaciones' => $hora_inic_reservaciones,
						'hora_fin_reservaciones' => '?',
						'descripcion_reservaciones' => $descripcion_reservaciones
						);
		if ($this->Reservacione->save($data))		
		{
			return true;
		}
		else 
		{
			return false;	
		}
	}
	
	public function getCantListaContactos($username)
	{
		$contactos = $this->User->query(
												'SELECT COUNT(DP_2.sede_id) 
													FROM users U, personas P, departamento_personas DP_1, 
													departamento_personas DP_2
													WHERE U.persona_id = DP_1.persona_id
													AND DP_1.sede_id = DP_2.sede_id
													AND P.id = DP_2.persona_id
													AND P.id != U.persona_id
													AND DP_2.fecha_fin_persona_departamento IS NULL 
													AND U.username =  "'.$username.'"
													GROUP BY DP_2.sede_id'
					
										);
		return $contactos;
	}
	
	public function getListaContactos($username, $fecha_selec)
	{
		$contactos = $this->User->query(
												'SELECT P.apellido_persona_1 as nombre_clave, P.* , D.*, DP_2.*, S.*, DPS.*, TCC.*, SUP.*
													FROM users U, personas P, departamento_personas DP_1, 
													departamento_personas DP_2, departamentos D, sedes S,
													tipo_cargos TCC, departamento_sedes DPS
													LEFT OUTER JOIN personas SUP ON SUP.id = DPS.persona_id
													WHERE U.persona_id = DP_1.persona_id
													AND DP_1.sede_id = DP_2.sede_id
													AND P.id = DP_2.persona_id
													AND P.id != U.persona_id
													AND D.id = DP_2.departamento_id
													AND DP_2.fecha_fin_persona_departamento IS NULL
													AND S.id = DP_2.sede_id
													AND U.username =  "'.$username.'"
													AND P.fecha_modificacion > "'.$fecha_selec.'"
													AND DP_2.tipo_cargo_id = TCC.id
													AND DP_2.departamento_sede_id = DPS.id
													ORDER BY nombre_clave ASC'
					
										);
		return $contactos;
	}
	
	public function getBeneficioAdm($id_beneficio,$username)
	{
		$beneficio = $this->User->query(
												"SELECT BA.*,BAS . * 
													FROM users U, departamento_personas DP, 
													beneficios_administrativos_sedes BAS,
													beneficios_administrativos BA
													WHERE U.persona_id = DP.persona_id
													AND DP.sede_id = BAS.sede_id
													AND BA.id = BAS.beneficios_administrativos_id
													AND BA.id = ".$id_beneficio."
													AND U.username =  '".$username."'"
					
										);
		return $beneficio;
	}
	
	public function getDireccion($id_direccion)
	{
		$direccion = $this->User->query(
												"SELECT D.*
													FROM direccions D
													WHERE D.id = ".$id_direccion
													
										);
		
		if ($direccion[0]['D']['direccion_id'] == null)
		{
			return $direccion[0]['D']['nombre_direccion'];
		}
		else 
		{
			$nombre_dir = $direccion[0]['D']['nombre_direccion'].', '.$this->getDireccion($direccion[0]['D']['direccion_id']);
			return $nombre_dir;
		}
		
	}

	public function getArticulosFromSolicitud($id_solicitud)
	{
		$array_articulos = array();
		$articulos = $this->User->query(
											'SELECT *
												FROM solicitud_compras SC, 
												detalle_solicitud_compras DSC, 
												articulos A, tipo_articulos TA
												WHERE SC.id = DSC.solicitud_compra_id
												AND A.tipo_articulo_id = TA.id
												AND DSC.articulo_id = A.id
												AND SC.id = '.$id_solicitud
										);
										
		
		foreach ($articulos as $articulo ) 
		{
			array_push($array_articulos, array(
													"articulo_id" => $articulo['A']['id'],
													"nombre_articulo" => $articulo['A']['nombre_articulo'],
													"codigo_articulo" => $articulo['A']['codigo_articulo'],
													"url_foto_articulo" => $articulo['A']['foto_articulo'],
													"tipo_articulo_id" => $articulo['TA']['id'],
													"nombre_tipo_articulo" => $articulo['TA']['nombre_tipo_articulo'],
													"precio_unitario_articulo" => $articulo['DSC']['precio_unitario_solicitud'],
													"cantidad_solicitud_compra" => $articulo['DSC']['cantidad_solicitud_compra']
													
													

												)
						  );

		}
		
		
		return $array_articulos;
	}
	
}
?>